﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using Snowdreamist.Collection;

namespace Snowdreamist.Runtime.Services
{
    public interface IModuleRepository : IRuntimeService
    {
        ReadonlyConcurrentObservableCollection<IModuleDefinition> Modules { get; }

        IModuleDefinition GetModuleDefinition<T>();

        IModuleDefinition GetModuleDefinition(string name);

        event EventHandler ModuleChanged;
    }
}